1. Field of the Invention
The present invention relates to distribution of information through a communication network and, more particularly, to a contents distribution system for efficiently distributing a large volume of contents such as video, a distribution method thereof, and a contents distribution program thereof.
2. Description of the Related Art
In recent years, increase in communication speed of the Internet, particularly, increase in radio communication speed, enables accumulated video contents such as films, advertisements and music promotion video to be viewed and listened by personal computers at home or cellular phones used outdoors. Distribution of live video is also conducted such as distribution of video taken by cameras including a Web camera disposed at sightseeing spots and on roads through the Internet.
Since these video data is very large in size and needs a communication path having an extremely wide band in order to distribute the data as it is, the data is distributed with its size reduced by an image compression coding technique. As a result, even when using a line whose band is approximately 64 kbps, distributing compressed video contents enables a user's terminal to receive and decode the contents to view the video.
In image coding techniques widely used in these days, both systems are employed, intraframe coding of conducting coding within a frame in order to achieve high compression and interframe coding of conducting coding between frames by making use of correlation between frames.
In general, interframe coding has a higher compression ratio than that of intraframe coding. In addition, in either of interframe coding and intraframe coding, increase in a compression ratio is followed by deterioration of images and decreasing a compression ratio to increase the amount of necessary information enables upgrading of image quality. Interframe coding has a higher compression ratio and enables transmission of video whose images have higher quality. The interframe coding, however, has a problem that since coding is conducted making use of correlation with a preceding frame, when the preceding frame can not be normally decoded due to an error occurring on a transmission path or for other reasons, the following frames can not be normally decoded either.
As a means for preventing the problem, well known is a method of refreshing a screen with an intraframe-coded frame inserted cyclically.
Here, when a cycle of inserting an intraframe-coded frame for refreshing is long, a refreshing interval is long, so that when an error occurs, a normal image can not be immediately restored. Conversely, when an insertion cycle is short, a rate of interframe coding is low to deteriorate image quality.
Among conventional techniques for solving the problem is, for example, the technique disclosed in Japanese Patent Laying-Open (Kokai) No. Heisei 05-252511. Proposed in Japanese Patent Laying-Open (Kokai) No. Heisei 05-252511 is a system for providing the service of distributing video coded by one video server to a plurality of terminals, which system has data obtained by intraframe-coding video to be distributed and data obtained by interframe-coding the same. Proposed in the art is ordinarily distributing interframe-coded data and when a new terminal is added as a distribution destination or when video of a terminal is disturbed, transmitting intraframe-coded data only to the terminal in question to enable the video to be viewed and a screen to be updated without affecting other terminals.
In addition to the above-described technique, conventional systems in which a server and a terminal one-to-one correspond to each other are, for example, the techniques disclosed in Japanese Patent Publication No. 2596333, Japanese Patent Laying-Open (Kokai) No. Hesei 07-023377 and Japanese Patent Laying-Open (Kokai) No. Hesei 04-334189. Proposed in these literature is a system of making a request to a transmission side server to change a coding method when a reception side terminal detects an error in received data. More specifically, switching a coding system from interframe coding used at normal operation to intraframe coding used at the time of error conducted at the server in response to a request from the terminal enables quick recovery of a disturbance of an image.
On the other hand, the conventional techniques disclosed in Japanese Patent Laying-Open (Kokai) No. Heisei 08-037660 and Japanese Patent Laying-Open (Kokai) No. Heisei 05-328324 propose a system in which, with one frame divided into a plurality of blocks, a part of blocks are coded by intraframe-coding and the remaining blocks are coded by interframe-coding to have each block delayed in time, thereby gradually conducting refreshing without the need of a special request from a terminal. Moreover, proposed in the conventional art disclosed in Japanese Patent Laying-Open (Kokai) No. Heisei 09-037245 is a system in which a reception side terminal detects a position of a block whose image is disturbed and notifies a server to that effect, thereby requesting transmission of intraframe-coded data of the block.
Refreshing of a screen by the transmission (re-transmission) of intraframe-coded data is required in some cases other than a case where an image is disturbed due to an error. In a case, for example, where a new terminal participates in television conference held among a plurality of points, the participant terminal is not allowed to decode an interframe-coded image unless it receives an intraframe-coded image. Therefore, the conventional technique disclosed in Japanese Patent Laying-Open (Kokai) No. Heisei 07-298231 proposes a system in which when a new terminal participates, by the request and reception of intraframe-coded image data to and from other terminal, normal video is quickly displayed after its participation.
Also in television conference held among a plurality of points in which a terminal at each point displays video from a terminal at other point, it is a common practice to make a request to the terminal at the point in question for transmission of intraframe-coded video data in order to switch the relevant video.
The multi-point television conference employs, other than a system of distributing video from a terminal to other plurality of terminals, a system having a multi-point conference control unit (MCU) to conduct communication between the MCU as a server and each terminal.
Here, description will be made of conventional video distribution processing with reference to drawings. FIG. 8 is a block diagram showing a structure of a conventional contents distribution system, while FIG. 9 is a flow chart for use in explaining processing conducted by the conventional contents distribution system.
With reference to FIGS. 8 and 9, in conventional video distribution, video applied to an input unit 61 (Step 901) has its video frame coded by an interframe coding unit 62 (Step 902) and the resultant data is transmitted to a terminal 70 by a video frame transmission unit 63 (Step 903).
Here, as a method of coding video, there have been developed MPEG as the ISO standard and H.26x series as the ITU standard. Commonly known use of a transmission path of a narrow band such as a radio line and a common telephone line is MPEG-4. Although the following description of coding will be made with respect to MPEG-4, the description is applicable also to common video coding because the principle is the same.
The interframe coding unit 62 ordinarily codes a video frame mainly using interframe coding for the purpose of efficient use of a transmission path. Since intraframe coding in general needs a larger volume of codes than those needed by interframe coding, when a band of a transmission path such as a radio line is narrow, many of frames are coded by interframe coding.
In many cases, however, intraframe-coded frames are inserted at fixed intervals because of the following reasons (1) and (2) and the like.
(1) When in an initial frame, if none of intraframe-coded data exists, data coded by interframe coding can not be decoded.
(2) When an error occurs at a transmission path, decoding data coded by interframe coding results in accumulating errors to disturb video, which phenomenon is conspicuous particular in a radio line depending on radio wave conditions.
An interval of inserting an intraframe-coded frame is determined in consideration of a frequency of occurrence of errors and band efficiency which represents how efficiently a band of a transmission path is used.
FIG. 9 shows that once in ten seconds, an intraframe-coded frame is inserted (indicated as “I” in the figure) and interframe-coded video frames are used as the remaining frames (indicated as “P” in the figure). Consideration will be given to a case where thus coded video frames are received by the terminal 70 starting at a certain time point.
A video frame received by a frame reception unit 71 (Step 904) is decoded by a decoding unit 72 (Step 905) and displayed at a display unit 73 (Step 906).
However, the decoding unit 72 is not allowed to decode video unless it first receives an intraframe-coded video frame “I”. Since an interframe-coded video frame “P” is obtained by coding motion information obtained from preceding video, unless the preceding video is decoded, the interframe-coded video frame “P” can not be decoded. On the other hand, as to an intraframe-coded video frame “I”, video of the frame can be decoded only with the video frame. In other words, unless first an intraframe-coded video frame “I” is received and decoded within the frame, the following video can not be decoded.
The interframe coding unit 62 codes an intraframe-coded video frame “I” at fixed intervals (at intervals of ten seconds here), which results in that video can be decoded only at this timing.
In a case, for example, where the frame reception unit 71 accidentally receives “I” as an initial frame, the decoding unit 72 is allowed to start decoding at the frame, while in a case where the unit receives “P” subsequent to “I” as an initial frame, the decoding unit 72 is not allowed to decode video because it receives a video frame for remaining a little less than ten seconds but fails to receive “I”, so that a user will be kept waiting approximately for ten seconds with no video displayed after issuing a request for viewing a program. The waiting time, excluding a delay in a system, is zero second at the minimum and an intraframe coding interval (ten seconds here) at the maximum, whose average is half the intraframe coding interval (five seconds here).
On the other hand, on a radio line, when an error occurs on a transmission path due to radio wave conditions, decoding the data coded by interframe coding accumulates errors to in some cases disturb an image which will remain disturbed until an intraframe-coded video frame “I” is received. Also in this case, from when the video starts being disturbed until when an intraframe-coded video frame is received to rectify the disturbance of the image, zero second is required at the minimum, an intraframe coding interval (ten seconds here) at the maximum and half the intraframe coding interval (five seconds here) on average.
In order to eliminate these shortcomings, an intraframe coding interval should be as a matter of course shortened. However, since the amount of codes for intraframe coding is larger than that of interframe coding, the amount of transmittable information of video is smaller than that of a case where an interval of intraframe coding is long. In a case where a radio communication path or a common telephone line is used, in particular, when a band of a transmission path is narrow, image quality will be degraded.
As described in the foregoing, the conventional systems have the following problems.
First, the above-described conventional techniques are mainly applied to one-to-one video distribution, television conference and multi-point television conference and are related to systems for transmitting data individually to each terminal, which fail to take distribution of video data taken by a Web camera etc. to a plurality of terminals into consideration.
In a case, for example, where a new terminal participates in viewing or listening to video or where video refresh is requested due to a disturbance of video, a request for intraframe coding is made to a server as described above. In a system of transmitting data to all the terminals, however, when the server conducts intraframe coding, the same intraframe-coded video will be transmitted to other terminals which execute decoding normally, resulting in decreasing a rate of interframe coding to deteriorate image quality.
Secondly, conventional art fails to take into consideration a mode in which a plurality of kinds of videos (hereinafter referred to as programs) are distributed in video distribution to a plurality of terminals. It is conventionally impossible, for example, to view and listen to various video contents with a program to be received switched by means of a portable communication terminal outdoors.